package org.wdcode.web.mina.service;

import org.apache.mina.core.service.IoAcceptor;
import org.wdcode.common.interfaces.Close;
import org.wdcode.web.mina.need.MinaAcceptorNeed;

/**
 * mina IO接受器接口
 * @author WD
 * @since JDK6
 * @version 1.0 2010-08-05
 */
public interface MinaIoAcceptor extends Close {
	/**
	 * 初始化方法
	 */
	void init();

	/**
	 * 绑定端口 开始监听服务
	 */
	void bind();

	/**
	 * 解除绑定端口 停止服务
	 */
	void unbind();

	/**
	 * 获得Mina包装
	 * @return Mina包装
	 */
	MinaAcceptorNeed getNeed();

	/**
	 * 设置Mina包装
	 * @param need Mina包装
	 */
	void setNeed(MinaAcceptorNeed need);

	/**
	 * 获得IO接受器
	 * @return IO接受器
	 */
	IoAcceptor getIoAcceptor();

	/**
	 * 设置IO接受器
	 * @param ioAcceptor IO接受器
	 */
	void setIoAcceptor(IoAcceptor ioAcceptor);
}
